﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ProtoBuf;




namespace share
{
    //battle服务器下发========================================================================================
    [ProtoContract]
    public class DoQunliao_s
    {
        [ProtoMember(1)]
        public string charID;
    }

    [ProtoContract]
    public class EndTime
    {
        [ProtoMember(1)]
        public double seconds;
    }

    [ProtoContract]
    public class EndGame
    {
        [ProtoMember(1)]
        public string strData;
    }


    [ProtoContract]
    public class RefreshTime_s
    {
        [ProtoMember(1)]
        public string id;
        [ProtoMember(2)]
        public double second;
    }
    [ProtoContract]
    public class Belong_s
    {
        [ProtoMember(1)]
        public string monID;
        [ProtoMember(2)]
        public string belongID;
    }
    [ProtoContract]
    public class EquipChange_s
    {
        [ProtoMember(1)]
        public string charID;
        [ProtoMember(2)]
        public string itemID;
        [ProtoMember(3)]
        public string type;
    }

    [ProtoContract]
    public class HPCurrent_s
    {
        [ProtoMember(1)]
        public string charID;
        [ProtoMember(2)]
        public int value;
    }

    [ProtoContract]
    public class AddChars_s
    {
        [ProtoMember(1)]
        public List<string> chars = new List<string>();
        [ProtoMember(2)]
        public bool self = false;
    }

    [ProtoContract]
    public class RemoveChar_s
    {
        [ProtoMember(1)]
        public string charID;
    }


    [ProtoContract]
    public class UpdateInside
    {
        [ProtoMember(1)]
        public string data;
    }

  

    [ProtoContract]
    public class DoMoves_s
    {
        [ProtoMember(1)]
        public List<string> charIDs=new List<string>();
        [ProtoMember(2)]
        public List<string> poses = new List<string>();
    }

    [ProtoContract]
    public class BattleInfo_s
    {
        [ProtoMember(1)]
        public string data;
    }

    [ProtoContract]
    public class DoAttack_s
    {
        [ProtoMember(1)]
        public string charID;
        [ProtoMember(2)]
        public string skill;
        [ProtoMember(3)]
        public int posX;
        [ProtoMember(4)]
        public int posY;
        [ProtoMember(5)]
        public string desID;
    }

    [ProtoContract]
    public class Batch_s
    {
        [ProtoMember(1)]
        public List<BatchType> types = new List<BatchType>();
        [ProtoMember(2)]
        public List<string> ids = new List<string>();
        [ProtoMember(3)]
        public List<string> values = new List<string>();
    }

    [ProtoContract]
    public class AddItems_s
    {
        [ProtoMember(1)]
        public string strData;
    }

    [ProtoContract]
    public class DeleteItem_s
    {
        [ProtoMember(1)]
        public string itemGUID;
      
    }
    
    //battle========================================================================================
    [ProtoContract]
    public class HeroMove
    {
        [ProtoMember(1)]
        public string charID;
        [ProtoMember(2)]
        public string pos;
        [ProtoMember(3)]
        public CharDirect direct;
    }

    [ProtoContract]
    public class HeroAttack
    {
        [ProtoMember(1)]
        public string skill;
        [ProtoMember(2)]
        public int posX;
        [ProtoMember(3)]
        public int posY;
        [ProtoMember(4)]
        public string desID;
    }
    

    [ProtoContract]
    public class PickupItem
    {
        [ProtoMember(1)]
        public string item_guid;
    }
    [ProtoContract]
    public class Reborn
    {
        [ProtoMember(1)]
        public string fake;
    }

    [ProtoContract]
    public class SetNickName
    {
        [ProtoMember(1)]
        public string name;
    }
    


    [ProtoContract]
    public class EndBattle
    {
        [ProtoMember(1)]
        public string fake;
    }

    [ProtoContract]
    public class StartBattle
    {
        [ProtoMember(1)]
        public string mapName;
        [ProtoMember(2)]
        public BattleType battleType;
        [ProtoMember(3)]
        public bool privately=false;
    }

    [ProtoContract]
    public class HeroChuansong
    {
        [ProtoMember(1)]
        public string fake;
    }
    [ProtoContract]
    public class DoChuansong_s
    {
        [ProtoMember(1)]
        public string charID;
        [ProtoMember(2)]
        public int posX;
        [ProtoMember(3)]
        public int posY;
    }

    

    [ProtoContract]
    public class HeroQunliao
    {
        [ProtoMember(1)]
        public string fake;
    }

    //user==========================================================================================
    [ProtoContract]
    public class MusicOn
    {
        [ProtoMember(1)]
        public int on;
    }
    [ProtoContract]
    public class GetSkill
    {
        [ProtoMember(1)]
        public string fake;
    }

    [ProtoContract]
    public class SetSkill
    {
        [ProtoMember(1)]
        public string name;
        [ProtoMember(2)]
        public int index;
    }

    [ProtoContract]
    public class SetAtt
    {  
        [ProtoMember(1)]
        public int at;
        [ProtoMember(2)]
        public int hp;
        [ProtoMember(3)]
        public int def;
        [ProtoMember(4)]
        public int cd;
        [ProtoMember(5)]
        public int crit;
    }

    [ProtoContract]
    public class login
    {
        [ProtoMember(1)]
        public string code;
    }

    [ProtoContract]
    public class SetPotion
    {
        [ProtoMember(1)]
        public string id;
    }

    [ProtoContract]
    public class GetRank
    {
        [ProtoMember(1)]
        public string fake;
    }
    [ProtoContract]
    public class SoulControl
    {
        [ProtoMember(1)]
        public bool move;
    }
    [ProtoContract]
    public class UsePotion
    {
        [ProtoMember(1)]
        public string fake;
    }
    [ProtoContract]
    public class WorldDetail
    {
        [ProtoMember(1)]
        public string name;
    }
    [ProtoContract]
    public class MapIndex
    {
        [ProtoMember(1)]
        public string strData;
    }

    [ProtoContract]
    public class buy
    {
        [ProtoMember(1)]
        public string shopID;
    }

    [ProtoContract]
    public class Person
    {
        [ProtoMember(1)]
        public int Id { get; set; }
        [ProtoMember(2)]
        public string Name;
        [ProtoMember(3)]
        public Address Address;
    }

    [ProtoContract]
    public class Address
    {
        [ProtoMember(1)]
        public string Line1;
        [ProtoMember(2)]
        public string Line2;
    }
}

